Career 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Porto Challenger Prague 3 Challenger Mallorca Challenger Davis Cup, Group I, 1R, AUT-POR 1-3 Bratislava 2 Challenger Lisbon Challenger Ortisei Challenger Ismaning Challenger Calgary Challenger Drummondville Challenger Oeiras 2 Challenger Oeiras 1 Challenger Davis Cup, World Group, Q, FIN-POR 3-1 Girona Challenger Millennium Estoril Open - Estoril Cassis Challenger Italy F2 Italy F3 Italy F14 Italy F17 Italy F22 Italy #3-w2 Italy #3-w3 Italy #3-w4 Italy F2 Italy F4 Italy F5 Italy F9 Italy F14 Italy F21 Italy F22 Italy F24 Italy F25 Italy F29 Italy F33 Italy F34 Italy F1 Italy F3 Italy F4 Italy F5 Italy F7 Italy F8 Italy F9 Italy F11 Spain F17 Spain F18 Spain F19 Italy F17 Italy F18 Spain F22 Italy F19 Spain F23 Italy F21 Italy F22 Spain F26 Italy F23 Spain F27 Italy F25 Italy F26 Austria F10 Spain F33 Austria F11 Spain F34 Switzerland F6 Spain F35 Italy F33 Italy F34 Portugal F4 Italy F35 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Colombia F1 Spain F3 Colombia F2 Spain F5 Italy F1 Spain F6 Italy F3 Spain F8 Italy F3B Spain F9 Italy F4 Spain F10 Italy F6 Spain F13 Italy F9 Italy F11 Spain F17 Italy F12 Spain F18 Hungary F2 Spain F19 Hungary F3 Spain F20 Germany F7 Italy F19 Romania F10 Italy F21 Romania F11 Italy F24 Spain F30 Spain F31 Spain F33 Spain F34 Italy F33 Portugal F7 Italy F34 Portugal F8 Croatia F10 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Egypt F1 Spain F4 Egypt F2 Spain F5 Italy F1 Italy F2 Spain F7 Portugal F1 Portugal F2 Spain F10 Italy F4 Spain F11 Turkey F4 Turkey F5 Turkey F6 Italy F8 Italy F9 Spain F16 Spain F17 Italy F11 Spain F18 Romania F5 Spain F20 Spain F21 France F12 Italy F21 Spain F28 Italy F24 Spain F29 Spain F30 Italy F10 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F2 Spain F3 Spain F4 Spain F5 Switzerland F1 Switzerland F2 Italy F2 Switzerland F3 Italy F3 Spain F12 Italy F7 Spain F16 Spain F17 Italy F9 Italy F10 Spain F18 Spain F19 Spain F20 Italy F12 Italy F13 Italy F17 Italy F18 Italy F19 Spain F31 Spain F35 Spain F36 Italy F30 Iran F6 Iran F7 Israel F2 Israel F3 France F4 Italy F1 Italy F2 Italy F3 Italy F6 Italy F7 Spain F14 Spain F15 Italy F11 Italy F20 Italy F21 Italy F23 Spain F36 Italy F31 Spain F37 Spain F38 Italy F9 Slovenia F1 Italy F20 Italy F28 Spain F1 Spain F2 Italy F14 Spain F4 Italy F18 Italy F15 Spain F5 Italy F5 Italy F19 Italy F8 Italy F9 Italy F12 Austria F1 Italy F16 Italy F22 Italy F25 Italy F26 Italy F27 Italy F28 Italy F29 Italy F30 Italy F2 Italy F5 Italy F1 Italy F6 Italy F21 Italy F16 Italy F24 Italy F28 Italy F32 Italy F33 Italy F34 Italy F36 Italy F38 Italy F39 Egypt F1 Egypt F2 Egypt F4 Egypt F5 Italy F1 Italy F2 Croatia F5 Croatia F6 Italy F29 Italy F30 Italy F32 Italy F34 Tunisia F2 Tunisia F3 Tunisia F6 Tunisia F7 Tunisia F8 Tunisia F20 Italy F15 Italy F16 Italy F18 Italy F21 Italy F24 Italy F29 Italy F30 Italy F31 Italy F32 Italy F35 Tunisia F36 Tunisia F4 (Hammamet) Italy F2 (Trento) Italy F3 (Basiglio) Italy F4 (Sondrio) Italy F6 (Santa Margherita Di Pula) Italy F7 (Santa Margherita Di Pula) Italy F8 (Santa Margherita Di Pula) Italy F10 (Santa Margherita Di Pula) Italy F13 (Vigevano) Italy F15 (Reggio Emilia) Italy F17 (Bergamo) Italy F18 (Sassuolo) Italy F19 (Basilicanova) Italy F23 (Pontedera) Italy F31 (Santa Margherita Di Pula) Italy F32 (Santa Margherita Di Pula) Italy F33 (Santa Margherita Di Pula) Italy F35 (Santa Margherita Di Pula) Italy F36 (Santa Margherita Di Pula) Tunisia F1 (Hammamet) Tunisia F2 (Hammamet) France F3 (Veigy-Foncenex) Great Britain F1 (Glasgow) Italy F1 (Trento) Italy F2 (Santa Margherita Di Pula) Italy F3 (Santa Margherita Di Pula) Italy F4 (Santa Margherita Di Pula) Italy F6 (Santa Margherita Di Pula) Italy F9 (Santa Margherita Di Pula) Italy F10 (Casale Monferrato) Italy F12 (Reggio Emilia) Italy F14 (Bergamo) Italy F19 (Gubbio) Italy F24 (Cuneo) Italy F27 (Santa Margherita Di Pula) Italy F28 (Santa Margherita Di Pula) Italy F30 (Santa Margherita Di Pula) Tunisia F44 (Monastir) Tunisia F45 (Monastir) M15 Palmanova M15 Palmanova M25 Santa Margherita Di Pula M25+H Pontedera M15 Piombino M25 Santa Margherita Di Pula Tunisia F1 3° Trofeo 'Citta di Brindisi' - Brindisi San Marino Cepu Open - San Marino Genoa Open - Genova Arpa Ceramic Cup - Reggio Emilia Kos-Zucchetti Tennis Cup - Cordenons XXXIV Edizione 'A. Savoldi-Marco Co.' Trofeo Dimmidisi - Manerbio ATP Challenger La Serena - La Serena Tennis Napoli Cup - Napoli 1° Torneo Challenger Series 12° Trofeo Paolo Corazzi - Cremona Memorial A. Manfredini Sassuolo Challenger - Sassuolo Zenith Tennis Cup-Harbour Club - Milan Mamaia Challenger - Constanta Riviera de Rimini Challenger - Rimini Kos Succhetti Tennis Cup - Cordenons 84° Concurso Internacional Tenis San Sebastian - San Sebastian Citta di Como Challenger - Como Genova Open Challenger - Genova 2nd Campionati Internazionali di Tennis Del'Umbria - Todi Caversham International Tennis Tournament - Jersey Caltanissetta Challenger Rome Challenger Milan Challenger Reggio Emilia Challenger Rimini Challenger Turin Challenger Orbetello Challenger Como Challenger Seville Challenger Todi Challenger Palermo Challenger Tarragona Challenger Rennes Challenger Genova Challenger Tanger Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Monza Challenger Leon Challenger Tallahassee Challenger Tunis Challenger Reggio Emilia Challenger Rimini Challenger Recanati Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger Como Challenger Genova Challenger Seville Challenger Todi Challenger Izmir Challenger Napoli Challenger Palermo Challenger Sao Paulo Challenger Heilbronn Challenger Courmayeur Challenger Bergamo Challenger Quimper Challenger Casablanca Challenger Pingguo Challenger St. Brieuc Challenger Rome Challenger Cremona Challenger Furth Challenger Kosice Challenger Marburg Challenger Braunschweig Challenger Tampere Challenger Segovia Challenger San Marino Challenger San Sebastian Challenger Manerbio Challenger Genova Challenger Seville Challenger Szczecin Challenger Trnava Challenger Madrid Challenger Napoli Challenger Palermo Challenger Eckental Challenger Kazan Challenger Quimper Challenger Bergamo Challenger Meknes Challenger Casablanca Challenger Rabat Challenger Marrakech Challenger Pereira Challenger Mersin Challenger Rome Challenger Santos Challenger Rome Challenger Bordeaux Challenger Caltanissetta Challenger Furth Challenger Monza Challenger Kosice Challenger Milan Challenger Tampere Challenger Orbetello Challenger San Marino Challenger Sibiu Challenger Cordenons Challenger Como Challenger Genova Challenger Alphen Challenger Todi Challenger Trnava Challenger Madrid Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Napoli Challenger Rome Challenger Bordeaux Challenger Caltanissetta Challenger Furth Challenger Kosice Challenger Todi Challenger San Benedetto Challenger Poznan Challenger Guimaraes Challenger Cordenons Challenger Genova Challenger Andria Challenger Chitre Challenger Rome Challenger Mestre Challenger Caltanissetta Challenger San Benedetto Challenger Cortina Challenger San Marino Challenger Cordenons Challenger Genova Challenger Biella Challenger Andria Challenger Napoli Challenger Turin Challenger Mestre Challenger San Benedetto Challenger Biella Challenger Cortina Challenger Cordenons Challenger Manerbio Challenger Como Challenger Genova Challenger Morelos Challenger Tempe Challenger Recanati Challenger Perugia Challenger Biella Challenger Cordenons Challenger Manerbio Challenger Genova Challenger Mestre Challenger L'Aquila Challenger Recanati Challenger Padova Challenger Tunisia F21 Cordenons Challenger San Benedetto Challenger Segovia Challenger Antalya 2 Challenger Mallorca Challenger Cassis Challenger Biel Challenger Orleans Challenger Alicante Challenger Brest Challenger Tenerife Challenger Bratislava Challenger Helsinki Challenger Quimper Challenger Phoenix Challenger Girona Challenger Oeiras 3 Challenger Aix En Provence Challenger Tunis Challenger Vicenza Challenger Estoril Open - Estoril Estoril Open - Estoril Estoril Open - Estoril If Stockholm Open - Stockholm Open Sud de France - Montpellier Open 13 - Marseille Estoril Open - Estoril German Tennis Championships - Hamburg Aircel Chennai Open - Chennai Heineken Open - Auckland Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Aircel Chennai Open - Chennai Apia International - Sydney VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Valencia Open - Valencia Qatar ExxonMobil Open - Doha Apia International - Sydney Open Sud de France - Montpellier Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras BMW Open - Munich Power Horse Cup - Dusseldorf Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Barcelona Open BancSabadell - Barcelona Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo European Open - Antwerp Erste Bank Open - Vienna ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Gerry Weber Open - Halle Antalya Cup - Antalya Konzum Croatia Open - Umag Suisse Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel ASB Classic - Auckland Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Open 13 Provence - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Gerry Weber Open - Halle Antalya Cup - Antalya Plava Laguna Croatia Open - Umag Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu China Open - Beijing Swiss Indoors Basel - Basel ASB Classic - Auckland Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Geneva Open - Geneva Libema Open - 's-Hertogenbosch Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel ASB Classic - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai European Open - Antwerp Hamburg European Open - Hamburg Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Millennium Estoril Open - Estoril Open Parc - Lyon Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Hall of Fame Open - Newport Sardegna Open - Cagliari Melbourne Summer Set - Melbourne Tata Open Maharashtra - Pune Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Serbia Open - Belgrade Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Mercedes Cup - Stuttgart Noventi Open - Halle Mallorca Championships - Mallorca Nordea Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Stockholm Open - Stockholm Erste Bank Open - Vienna Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon ASB Classic - Auckland Cordoba Open - Cordoba Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Millennium Estoril Open - Estoril Guangzhou Challenger Braga Challenger BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome National Bank Open - Montreal BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Maia Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Generali Open - Kitzbuhel Mutua Madrid Open - Madrid Rolex Paris Masters - Paris Shenzhen Open - Shenzhen Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, Group I, PO, POR-RSA 4-0 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-BRA 3-1 All Lower level tournaments Olympics - Rio de Janeiro Olympics - Tokyo Davis Cup, World Group, PO, POR-CZE 1-3